The present invention concerns a digital signal transmission system for data communications in the time division multiplex mode.
Wide use of electronic computers and development of digital signal processing technology have led to much attention being focussed on data communications in which telecommunications and data processing systems are combined, creating a demand for on-line data processing. In particular, much attention is focussed on the small-scale, packet-type private telecommunications systems in private and governmental offices using coaxial cables for communications and known for their economy, reliability, and high transmission efficiency.
In the packet-type telecommunications systems, the cable for two-way transmission is laid in, for instance, a research station to which a large number of individual terminals (stations) are connected. Each of these individual terminals transmit messages split into, for example, 1000- to 2000-bit data blocks. These messages include the address of the destination besides transmission and other headers.
In this type of transmission, the network itself has no controlling function and is a passive transmission medium. Control is completely distributed among the different individual terminals. As a result, an individual terminal can start message transmission only after checking that the transmission route is not occupied. Stations at the two ends of transmission route must stop communication if this communication causes a collision with another packet. The stations which stop communications retry transmission of their messages after waiting a predetermined interval. This is referred to as an CSMA/CD-type packet switching communications system.
In this type of communications system, the users at the respective terminals can not only access a computer, but also are equipped with hardware-like storage devices and software in the form of programs, etc. In other words, in this type of communications system, devices such as high-speed or high-density printers or large-capacity files that tend to be concentrated around a large computer in a time-sharing system (TTS) are distributed among the individual personal stations. Besides making it possible to economize on resources and increase the efficiency of utilization, this type of communications systems holds out possibilities for developing large software systems in which programs and data can be interchanged. Another characteristic of this type of communications system is that it assigns low relative priority to the various terminals, all stations being treated alike. It does not, therefore, insist on a master-slave hierarchy as is commonly encountered with other communications systems, making communications possible between any two connected. In addition, because the transmission lines formed by the coaxial cables comprise passive circuits only, it is easy to achieve high reliability with this system.
Despite the above advantages, a collision of packets along the transmission line is likely in this system because the respective stations can start transmission of data at any time desired. The higher the utilization of the transmission channel in the system, the more likely is the occurrence of collisions between packets.
To solve this problem, signal transmission systems such as the well-known priority-type "Ethernet" system or the reservation-type Ethernet system have been proposed. In the priority-type Ethernet system, a preamble in each respective packet is set with signal transmission priority data for the respective station. If two packets collide, only the packet with higher priority is transmitted. In the reservation-type Ethernet system, a station (master station) is permanently installed for mode specification, checking in the reservation mode whether or not the other stations (personal stations) have signals to transmit, and also checking the quantum of the data to be transmitted. In this way, for each frame, a packet transmission sequence is determined for the respective stations, and signals are transmitted on the basis of time division in the transmission mode.
However, in the priority-type Ethernet system, problems remain because packets can be assigned the same priority due to transmission delays. Accordingly, this method is not suitable in real-time transmission involved in, for instance, conversation-type audio communications, where importance is attached to real-time transmission and reception. In the reservation-type Ethernet system also, the above-mentioned inter-station correspondence is lost because of the existence of the master station. In other words, if there is a failure in the master station, data cannot be communicated any more. This affects the reliability of the system.
An improvement on these systems is the "Faxnet" system, a line switching communications system, which is illustrated in FIG. 1.
In the communications system illustrated in FIG. 1, a coaxial cable 1, provided as transmission line, is connected at its two terminal points to impedance-matching terminators 2 having resistance values equal to the characteristic line impedance. The respective stations are connected to the coaxial cable 1 via T connectors (taps) 3.sub.1 -3.sub.N. Basically, all stations have the same configuration, and hence, in this figure, only the constituent elements of a station A connected to the connecter 3.sub.1 are shown.
Each station is equipped with a user device 4 and a computer and a telephone. The user device 4 is provided with a transmitter (encoder) 41 to transmit to other stations digital signals in units of packets, a receiver (decoder) 42 receiving digital signals from the other stations, again in units of packets, and a terminal controller 43 to control the terminals. Output signals from the transmitter 41 are temporarily stored in a transmission buffer memory 51 and are read at a specified time on the basis of a clock signal of a frequency determined by the bit transmission rate on the coaxial cable 1 constituting the transmission medium. The signals read out are converted to packets by a sending logic circuit 52. After the signals pass a transmission buffer amplifier 53, they are sent to the coaxial cable 1 via the T connector 3.sub.1.
All the packet signals transmitted across the coaxial cable 1 are received via the T connector 3.sub.1 by a reception buffer amplifier 54. From the packets received at a reception logic circuit 55, only packets addressed to the local station are selected and temporarily stored in a reception buffer memory 56. The receiver 42 continuously reads the stored signals on the basis of a specific clock. In this way, the reception output signals are obtained.
While the signals are transmitted and received in this way, a transmission clock a used for the purpose is generated by a transmission clock generator 57. A transmission control circuit 61 controls the terminal controller 43 in response to the received signals addressed to the local stations and obtained from the circuit 55. At the same time, a transmission control circuit 61, following instructions from a terminal controller 43, controls the sending logic circuit 52. A collision detection circuit 62 detects whether or not a collision has occurred with the packet signal from another station at the time of transmission of packet signals.
In addition, each station is provided with a frame control circuit 80, t.sub.1 timer circuit 81, and packet control circuit 82.
As shown in FIGS. 5 and 6, the frame control circuit 80 receives a bit clock a (having more or less the same frequency as the transmission clock generator 57), and a master detection signal f and master reset signal g from a receive logic circuit 55, and generates a frame clock h and a master window signal i. When master detection signal f is on, this circuit generates a pulse of the frame clock h and master window signal i in response to a master reset signal g, whereas, when the master detection signal f is off, the trigger pulse generated within the circuit causes generation of the frame clock h and master window signal i pulses.
The t.sub.1 timer circuit 81 detects the presence of a station that has completed packet transmission. When it receives as an input a pulse of the receive signal j and the frame clock h, it starts the timer in response to the pulse of the frame clock h when the receive signal is on. If the receive signal is not on a time t.sub.1 after the start of the timer, it issues a time-out signal k. Again, if the time-out signal k issues, the t.sub.1 timer restarts and checks the occurrence of the following packets.
As FIGS. 8 and 9 show, the packet control circuit 82 receives the frame clock h, receive signal j, and time-out signal k from the t.sub.1 timer circuit 81. A send control signal l issues when the packet transmission sequence from the local station is detected from the input signals. This output signal is supplied to the transmission control circuit 61 where the send request signal is generated for transmission to the send logic circuit 52, control being exercised together with the transmission signal from the controller of the terminal unit. Also, for each frame, the local station transmission sequence is checked for the next frame transmission and the data is stored in the memory.
Details of the frame control circuit 80 are shown in FIG. 5. As seen in this figure, the frame control circuit 80 consists of a bit counter 90, flip-flop 91, and a number of gate elements. The bit counter 90 counts bit-clock pulses, generating, as mentioned earlier, the frame clock signal h according to the status of the master detection signal f and master reset signal g. This signal frame clock signal h is fed to a set input S of the flip-flop 91, whereby the master window signal i is obtained from the Q output of flip-flop 91. Operations of the frame control circuit are clear from the timing chart in FIG. 6. The relation between the frame clock output from this circuit and the packet signal on the transmission line is shown in FIG. 7.
As shown in FIG. 8, the packet control circuit 82 consists of a packet sequence memory 100, packet counter 101, t.sub.1 time-out output counter 102, comparator 103, an adder 104, flip-flop 105, and AND gate 106.
The packet sequence memory 100 stores the scheduled sequence of transmission from the local station. The packet counter 101 counts the number of packets within a frame. The t.sub.1 time-out output counter 102 counts the time-out output from the t.sub.1 timer. The adder 104 is used to add the number of packets and the number of time-out outputs from the t.sub.1 timer. The comparator compares the sum output from the adder with the packet sequence number in the memory, and issues an output signal according to the frame clock h when the sum reaches a value immediately before the packet sequence number.
The following is a detailed explanation of the transmission control in this system:
I. FIG. 10 shows the transmitter packet of the station that starts transmission after a transmission line silent time. In this instance, packets are transmitted in the following sequence:
(1) Carrier sense is monitored once within the span of a frame, and if there is no carrier sense output, packets are transmitted in a cycle determined by local station frame clocks. A flag is set in the control field of the transmitted packet to indicate that it is the master packet. The control field is also provided with an area for storage of packet sequence data. This area may carry data to indicate that this is the #1 packet.
(2) If the first packet transmitted does not collide with a packet from some other station, packets are transmitted according to the frame clock.
(3) If the initial packet meets with a collision, a back-off is executed and carrier sense is monitored for a frame immediately before packet transmission, and the packet is retransmitted according to whether there is or is not a carrier present.
II. If there is a signal on the transmission line, the operation proceeds as follows (FIG. 11):
(1) The master packet is detected and the packets thereafter, including the master packet, are counted by the packet counter, and the resulting count value is stored in the packet count memory as soon as the master window is detected in the next frame.
(2) Blank areas are detected and a check is made to evaluate if the following conditions are satisfied: EQU Empty area.gtoreq.(packet size+2a+.alpha.).
(Empty area detection is described later).
(3) If the check in (2) shows the occurrence of an empty area, in the next frame the number of packets from the master packet is counted, and, when the number of packets stored in the memory during the last frame is reached, carrier sense off is detected for the packet and packets are transmitted from then for a total period of .alpha.. For example, as shown in FIG. 11, the #3 packet is detected in each frame, and the packet is transmitted after a time .alpha. from the moment its carrier sense goes off (local station=C station).
(4) If a collision occurs outside the priority window after packet transmission, a reset is performed and the operation is retried.
When the local station sends a packet, procedure III below is followed if there is a station that has completed transmission:
III. If there is a station that has completed packet transmission (FIG. 12):
(1) Each station is equipped with a frame clock and timer to count time t.sub.1, this counter being started when the carrier sense goes off in each packet. This timer is reset at a frame clock pulse when carrier sense goes on, and, if it is not reset until time t.sub.1, a t.sub.1 time-out occurs, followed by an automatic restart. Thus, EQU t.sub.1 =2a+.beta.(.alpha.&gt;.beta.).
(2) When a station detects that, counting from the master packet, the number of packets is equal to the value immediately preceding the packet number to be sent by that station, it sends a packet at time .alpha. thereafter. If there is no packet immediately before, the timer t.sub.1 will time out, and, a time .alpha. after this time-out is detected, a packet will be transmitted.
(3) The packet counter in the respective stations calculates the number of packets (including the master packets) for each frame, starting from the master packet and continuing up to that of the particular station in packet transmission sequence. For example, in FIG. 12, the packet counter counts two for station B and three for station C over the frame F(n). If a station ends transmission somewhere within the interval between transmission of the master packet and the time when the turn comes for this station to transmit its packet, and this difference is the value by which the packet counter of the station falls short of the count for the preceding of the station falls short of the count for the preceding frame. Thus, in the subsequent frame, the revised packet transmission sequence will be conformed for packet transmission. For stations that do not transmit any packets, the packet counter counts the number of packets occurring between and including the master packets.
IV. When no further master packet remains to be transmitted (FIG. 13):
(1) Each station monitors the master packets, and if it cannot detect a master packet in the position where it is expected in a frame, it continues thereafter to monitor for the presence of a master packet until the time comes for packet transmission by the station. If no master packet is found, a master flag in the packet transmission by the station is set a time .alpha. after the t.sub.1 timer times out, and then a packet is transmitted.
(2) The station which becomes the master in the next frame follows its own frame clock and transmits a master packet at the position for the #1 packet.
V. Detection and check of master packets (FIG. 14):
(1) If a master packet is detected, the master window timer is started from a specified point in the master packet (such as the end of the control field or the end of the packet).
(2) The master window is generated in the position where the master packet is to appear in the next frame. The master packet position changes after the transition of the master packets across the master window span within which the t.sub.1 timer output can be detected. The master flag is set so that it can be detected even under worst-case conditions.
(3) Each station checks the presence (or absence) of the master flag, carrier, and a time-out output of the t.sub.1 timer within the master window.
(4) If the time-out output of the t.sub.1 timer is absent, or if a master flag or carrier sense on is detected within the master window, the corresponding packet is treated as the master packet and the master window timer is reset then restarted at a specified location in the master packet, as described in (1) (a in the figure).
(5) If a t.sub.1 timer time-out is detected within the master window, or if the carrier sense goes off, the master packet is considered to be absent, and the periodic timer is restarted from the end of the master window (b in the figure). In this case, the end of the master window must be made to coincide with the reference point specified in (1).
VI. Detecting empty areas (FIG. 15):
(1) Each station detects the master packets, and, when carrier sense in a master packet goes off, it starts the empty area detection counter (a in the figure).
(2) If a packet occurs in the interval up to detection of the master window of the next frame, the counter is stopped when carrier sense of the packet goes on (b in the figure), and is reset and is started when carrier sense goes off.
(3) If a master window is detected, the counter is stopped and the value contained in the counter at that moment is read (c in the figure). This value gives the empty area.
The above is a description of the Faxnet transmission control system. The following is a description of the signals used in that system.
The value a represents the transmission delay period between stations where the delay occurs.
The time .alpha. is a value, determined according to hardware considerations, employed to maintain the necessary interval between the packets. In other words, this time is determined by the time required after passing the last bit of the packet in the channel for the channel to recover its silent voltage level and the time required by the receive logic circuit in the other station for recovery to the reception enable status upon processing the received packet.
Provision is made to avoid overlapping of a packet with the master packet at the head of the next frame where an attempt is made to access the channel at the end of a frame in (2), II (1). In other words, as seen in FIG. 7, the remaining frame time must be equal to the packet size +2a+.alpha.. The expression in II (2) gives the limiting conditions determined accordingly.
The value 2a+.beta. for time t.sub.1 in (2), III, is determined as follows:
Let it be assumed, in FIG. 2, that the last station on the cable has transmitted the m-th packet and that the opposite station (at the other end of the cable) has transmitted the (m+1)-th packet. In this case, all the stations will definitely detect the initial bit of the m-th packet in time 2a+.alpha. from the detection of this packet by the (m+1)th packet.
If this cannot be detected, that is, if silence prevails even after time 2a+.alpha., all the stations will understand that the (m+1)-th packet has ended. This will make the (m+2)-th packet occupy the position of the (m+1)-th packet in the sequence, and thus the sequence of the following packets is advanced by one position each.
Furthermore, if .beta.&gt;.alpha. and 2a+.beta. is greater than 2a+.alpha., then silence over a period of 2a+.beta. will imply silence over a period of 2a+.alpha. as well.
Also, in this system, a packet must be at least 2a+.beta.-.alpha. in size. This limit on effective packet size is intended to restrict the delay in the transmission timing in the subsequent frame for a packet currently being tranmsitted in the preceding frame to not more than one frame type from the current frame. For example, as shown in FIG. 4, when the m-th packet ends, the (m+1)-th packet is transmitted after checking a silent period equal to (size of m-th packet)+.alpha.from the (m-1)-th packet in the preceding frame.
The following relation is necessary so that timing for the (m+1)-th packet is not delayed: packet size +.alpha.+2a+.beta.-.alpha.&gt; packet size 2a+.beta.-.alpha..
At present, the CSMA/CD system is employed as an international standard for packet switching communications systems in local area networks. For this reason, communications system based on CSMA/CD are widely being used. However, CSMA/CD presents difficulties in real-time transmission, and is therefore not of advantage in audio/video data transmission. Faxnet, on the other hand, is a line switching communications system suitable for real-time transmission. Thus, if both the systems are used in parallel, all types of data may be transmitted while both reliability and high quality of communication are assured. However, if the two systems are made to coexist by connecting them through a single cable, the inherent differences in the two transmission systems cause collisions of packets as shown in FIG. 16, and hence this approach cannot be applied to real-time transmission. For this reason, to use a CSMA/CD packet switching communications system and a Faxnet line switching communications system in parallel, two cables must be used.